<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../print.css" type="text/css" media="print">
<meta content="ClassUtil,appCoreLib.utils.ClassUtil,createClassFromObject,createClassFromXMLObject,createXMLfromObject,customCast" name="keywords">
<title>appCoreLib.utils.ClassUtil</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'ClassUtil - API Documentation';
				var baseRef = '../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">API Documentation</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../all-classes.html')" href="../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../all-classes.html')" href="../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../index-list.html')" href="../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../index.html?appCoreLib/utils/ClassUtil.html&amp;appCoreLib/utils/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;ClassUtil</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class ClassUtil"); titleBar_setSubNav(false,false,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">appCoreLib.utils</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class ClassUtil</td>
</tr>
</table>
<p></p>
  Contains methods for translating various object types to specific class instances and data types.
  
  <p><b>NOTE</b><br/>In order for complex data types in arrays to correctly translate,
  you need to ensure to add the following to your project's compiler options:
  -keep-as3-metadata ArrayElementType</p>
  
  <p>Also you will need to add the ArrayElementType metadata tags to your classes.</p>
  <p></p>
<br>
<hr>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#createClassFromObject()">createClassFromObject</a>(obj:Object, targetClass:Class):Object</div>
<div class="summaryTableDescription">[static]
   Creates a specified class instance from a generic object.</div>
</td><td class="summaryTableOwnerCol">ClassUtil</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#createClassFromXMLObject()">createClassFromXMLObject</a>(obj:XML, targetClass:Class):*</div>
<div class="summaryTableDescription">[static]
   Creates a specified class instance from an XML object.</div>
</td><td class="summaryTableOwnerCol">ClassUtil</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#createXMLfromObject()">createXMLfromObject</a>(obj:Object, skipOnNullValues:Boolean = true):XML</div>
<div class="summaryTableDescription">[static]
   Creates an XML object from a target object.</div>
</td><td class="summaryTableOwnerCol">ClassUtil</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#customCast()">customCast</a>(dataType:String, value:*):*</div>
<div class="summaryTableDescription">[static]
   Takes a value and cast to a specified type.</div>
</td><td class="summaryTableOwnerCol">ClassUtil</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="createClassFromObject()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">createClassFromObject</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public static function createClassFromObject(obj:Object, targetClass:Class):Object</code><p>
   Creates a specified class instance from a generic object.
   If the object is an XML instance, then it will utilize createClassFromXMLObject.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">obj</span>:Object</code> &mdash; The object to translate into a class instance.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">targetClass</span>:Class</code> &mdash; The class which the object is translated to.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Object</code> &mdash; Object The class instance of the translated object.
   </td>
</tr>
</table>
</div>
<a name="createClassFromXMLObject()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">createClassFromXMLObject</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function createClassFromXMLObject(obj:XML, targetClass:Class):*</code><p>
   Creates a specified class instance from an XML object. 
    
   
   The XML object should implement the following structure:
   <item>
     <property name="id" type="String">widget_p486</property>
     <property name="name" type="String">Widget P486</property>
     
     <!-- simple array elements -->
     <property name="tags" type="Array" arrayElementType="String">flash,flex,actionscript</property>
     
     <!-- complex array elements -->
     <property name="complexObjects" type="Array">
      <item>
       <property/>
       <property/>
      </item>
      <item>
       <property/>
       <property/>
      </item>
     </property>
     <property name="price" type="Number">22.95</property>
   </item>
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">obj</span>:XML</code> &mdash; The XML object to translate into a class instance.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">targetClass</span>:Class</code> &mdash; The class which the object is translated to.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>*</code> &mdash; The class instance of the translated XML object.
   </td>
</tr>
</table>
</div>
<a name="createXMLfromObject()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">createXMLfromObject</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function createXMLfromObject(obj:Object, skipOnNullValues:Boolean = true):XML</code><p>
   Creates an XML object from a target object.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">obj</span>:Object</code> &mdash; The target object to translate into XML.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">skipOnNullValues</span>:Boolean</code> (default = <code>true</code>)<code></code> &mdash; You can elect to not add XML nodes to the XML object if the target object's properties are null.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>XML</code> &mdash; An XML object representation of the target object
   </td>
</tr>
</table>
</div>
<a name="customCast()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">customCast</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function customCast(dataType:String, value:*):*</code><p>
   Takes a value and cast to a specified type.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">dataType</span>:String</code> &mdash; The desired object type to translate the value to.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">value</span>:*</code> &mdash; The value to be cast.
   
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>*</code> &mdash; the value cast to the specified dataType.
   </td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
